﻿//=============================================================================
//
// enemy [enemy.h]
//
//=============================================================================
#ifndef _ENEMY_H_
#define _ENEMY_H_

#include "main.h"

//*****************************************************************************
// マクロ定義
//*****************************************************************************



//////////////////////
// 贴图的种类名称
//////////////////////
enum
{
	ENEMY_01 = 0,		// タイプ０

	ENEMY_TYPE_MAX
};

//////////////////////
// 敌人当前的朝向状态
//////////////////////
enum
{
	ENEMY_UP = 0,		// タイプ０
	ENEMY_UP_LEFT,
	ENEMY_UP_RIGHT,

	ENEMY_DOWN,
	ENEMY_DOWN_LEFT,
	ENEMY_DOWN_RIGHT,

	ENEMY_LEFT,
	ENEMY_LEFT_UP,
	ENEMY_LEFT_DOWN,

	ENEMY_RIGHT,
	ENEMY_RIGHT_UP,
	ENEMY_RIGHT_DOWN,

	ENEMY_ANIM_MAX
};



//////////////////////
// 敌人当前要攻击的目标
//////////////////////
enum
{
	ENEMY_TARGET_PLAYER_01 = 0,		// タイプ０
	ENEMY_TARGET_PLAYER_02,
	ENEMY_TARGET_PLAYER_03,
	ENEMY_TARGET_PLAYER_04,

	ENEMY_TARGET_BASE,

	ENEMY_ATTACK_TARGET_MAX
};



//*************************************
// 構造体宣言
//*************************************

typedef struct
{
	D3DXVECTOR3 pos;			// 位置
	D3DXVECTOR3 move;			// 移动速度
	int iHP;						// 生命值
	int iMP;						// 魔力值
	int iType;					// 类型
	int iAnimStatus;				// 当前动画状态
	int iStatus;					// 当前状态
	int iBelongTo;				// 归属
	bool bUse;					// 種類
	int iFaceTo;					// 玩家朝向
	int iPatternAnim;			// 每个玩家自身动画帧
	int iHitBy;					// 被哪个玩家攻击
	int iTarget;				// 仇恨值，攻击目标
	float fRadian;				// 怪物夹角
}ENEMY;


//*****************************************************************************
// プロトタイプ宣言
//*****************************************************************************
HRESULT InitEnemy(LPDIRECT3DDEVICE9 pDevice);
void UninitEnemy(void);
void UpdateEnemy(void);
void DrawEnemy(LPDIRECT3DDEVICE9 pDevice);


void SetEnemy( D3DXVECTOR3 pos,						// 位置
				D3DXVECTOR3 move,						// 位移
				int HP,									// 血量
				int MP,									// 魔法
				int nType,								// 类型
				int belongTo );							// 属于哪个玩家



#endif
